<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /*      // 定义父类
        function person(name, age) {
            // 父类实例的属性
            this.name = name
            this.age = age
        }
        person.prototype.eat = function () {
            // 父类原型对象的方法
            console.log("eat");
        }
        // 定义子类
        function student(id, name, age) {
            // 继承父类的属性
            person.call(this, name, age)
            // 子类自己的属性
            this.id = id
        }
       //原型链继承(不能直接把父类的原型对象赋值给子类的原型对象,否则会共享)
        student.prototype = new person
        // 修正构造器
        student.prototype.constructor = student
        // 子类自己的原型方法
        student.prototype.study = function () {
            console.log("学前端");
        }

        const p1 = new student(0331,"zhangsan",88)
        console.log(p1, "p1");
        // console.log(p1.eat());
        // const p2 = new person("laoqi", 18)
        // console.log(p2, "p2");
    
 */

        //  定义父类
        // function person(name, age) {
        //     this.name = name
        //     this.age = age
        // }
        // person.prototype.do = function () {
        //     console.log("上学");
        // }
        // // 定义子类
        // function student(name, age, id) {
        //     person.call(this, name, age)
        //     this.id = id

        // }
        // student.prototype = new person
        // student.prototype.constructor = student
        // student.prototype.do = function () {
        //     console.log("学习");
        // }


        // function Person(name, age,) {
        //     this.name = name
        //     this.age = 18

        // }
        // Person.prototype.do = function () {
        //     console.log("shangxue");
        // }

        // function Student(name, age, id) {
        //     Person.call(this, name, age)
        //     this.id = id
        // }
        // Student.prototype = new Person
        // Student.prototype.constructor = Student

        // Student.prototype.run = function () {
        //     console.log("跑得快");
        // }

        // const re = new Student("张三", 18, '0331')
        // console.log(re);



        // 定义父类
        function person(name, age) {
            this.name = name
            this.age = age
        }
        person.prototype.eat = function () {
            console.log("吃大餐");
        }

        // 定义子类
        function student(name, age, id) {
            // 继承父类的属性
            person.call(this, neme, age)
            // 子类自己的属性
            this.id = "0331"
        }
        // 原型继承
        student.prototype=new person
        // 修正constructor
        student.prototype.constructor=student
        // 子类自己的原型方法
        student.prototype.do=function(){
            console.log("睡大觉");
        }


        // 
    </script>
</body>

</html>